.root {
    -fx-background-color: #f5f5f5;
    -fx-font-family: "Microsoft YaHei";
}

.button {
    -fx-background-color: #2196F3;
    -fx-text-fill: white;
    -fx-padding: 8 15;
    -fx-cursor: hand;
    -fx-border-radius: 4;
    -fx-background-radius: 4;
}

.button:hover {
    -fx-background-color: #1976D2;
}

.left-panel {
    -fx-background-color: white;
    -fx-effect: dropshadow(three-pass-box, rgba(0,0,0,0.1), 10, 0, 0, 0);
    -fx-padding: 10;
    -fx-spacing: 5;
}

.left-panel .button {
    -fx-background-color: transparent;
    -fx-text-fill: #424242;
    -fx-min-width: 180;
    -fx-alignment: CENTER_LEFT;
    -fx-font-size: 14px;
    -fx-padding: 10 15;
    -fx-border-radius: 4;
    -fx-background-radius: 4;
}

.left-panel .button:hover {
    -fx-background-color: #E3F2FD;
}

.left-panel .button:pressed {
    -fx-background-color: #BBDEFB;
}

.nav-button {
    -fx-background-color: transparent;
    -fx-text-fill: #333;
    -fx-font-size: 14px;
    -fx-padding: 10 15;
    -fx-alignment: CENTER_LEFT;
}

.nav-button:hover {
    -fx-background-color: #f0f0f0;
}

.primary-button {
    -fx-background-color: #4CAF50;
    -fx-text-fill: white;
}

.primary-button:hover {
    -fx-background-color: #388E3C;
}

.danger-button {
    -fx-background-color: #F44336;
    -fx-text-fill: white;
}

.danger-button:hover {
    -fx-background-color: #D32F2F;
}

.table-view {
    -fx-background-color: white;
    -fx-effect: dropshadow(three-pass-box, rgba(0,0,0,0.1), 10, 0, 0, 0);
    -fx-border-width: 0;
}

.table-view .column-header {
    -fx-background-color: #F5F5F5;
    -fx-padding: 12 8;
    -fx-font-size: 14px;
}

.table-view .column-header .label {
    -fx-text-fill: #424242;
    -fx-font-weight: bold;
}

.table-view .table-row-cell {
    -fx-background-color: white;
    -fx-border-color: transparent #E0E0E0 transparent transparent;
    -fx-min-height: 40;
    -fx-pref-height: 40;
    -fx-padding: 2;
    -fx-font-size: 14px;
}

.table-view .table-cell {
    -fx-alignment: CENTER-LEFT;
    -fx-padding: 8 12;
}

.table-view .table-row-cell:odd {
    -fx-background-color: #FAFAFA;
}

.table-view .table-row-cell:selected {
    -fx-background-color: #E3F2FD;
}

.table-view .table-row-cell:selected .table-cell {
    -fx-text-fill: #1976D2;
}

.table-view .table-row-cell:selected .amount-cell.income {
    -fx-text-fill: #2E7D32;
}

.table-view .table-row-cell:selected .amount-cell.expense {
    -fx-text-fill: #C62828;
}

.table-view .table-row-cell:hover {
    -fx-background-color: #F5F5F5;
}

.table-view .table-row-cell:hover:selected {
    -fx-background-color: #E3F2FD;
}

.table-view .scroll-bar:vertical {
    -fx-pref-width: 12;
    -fx-background-color: transparent;
}

.table-view .scroll-bar:vertical .thumb {
    -fx-background-color: #BDBDBD;
    -fx-background-radius: 6;
}

.table-view .scroll-bar:vertical .thumb:hover {
    -fx-background-color: #9E9E9E;
}

.table-view .scroll-bar:vertical .track {
    -fx-background-color: transparent;
}

.table-view .placeholder {
    -fx-background-color: white;
}

.table-view .placeholder .label {
    -fx-text-fill: #757575;
    -fx-font-size: 14px;
}

.menu-bar {
    -fx-background-color: #1976D2;
    -fx-padding: 1 0;
}

.menu-bar .menu {
    -fx-padding: 3 8;
}

.menu-bar .menu .label {
    -fx-text-fill: white;
    -fx-font-size: 13px;
}

.menu-bar .menu:hover {
    -fx-background-color: derive(#1976D2, 20%);
}

.menu-bar .menu-item {
    -fx-padding: 6 12;
}

.menu-bar .context-menu {
    -fx-background-color: white;
    -fx-border-color: #e0e0e0;
    -fx-border-width: 1;
    -fx-effect: dropshadow(three-pass-box, rgba(0,0,0,0.2), 8, 0, 0, 2);
    -fx-padding: 2;
}

.menu-bar .menu-item .label {
    -fx-text-fill: #424242;
    -fx-font-size: 13px;
}

.menu-bar .menu-item:hover {
    -fx-background-color: #E3F2FD;
}

.menu-bar .menu-item:focused {
    -fx-background-color: #e3f2fd;
}

// 添加登录界面样式
.text-field, .password-field {
    -fx-pref-width: 200px;
    -fx-padding: 5px;
}

.login-button {
    -fx-background-color: #4CAF50;
    -fx-text-fill: white;
    -fx-min-width: 100px;
}

.register-button {
    -fx-background-color: #2196F3;
    -fx-text-fill: white;
    -fx-min-width: 100px;
}

.report-view {
    -fx-background-color: white;
}

.filter-container {
    -fx-background-color: #f8f9fa;
    -fx-padding: 15;
    -fx-spacing: 10;
    -fx-border-radius: 5;
    -fx-background-radius: 5;
}

.chart-container {
    -fx-padding: 20;
    -fx-background-color: white;
}

.summary-label {
    -fx-font-size: 14px;
    -fx-padding: 10;
    -fx-background-color: #e9ecef;
    -fx-background-radius: 5;
}

.chart-pie-label {
    -fx-font-size: 11px;
}

.chart-pie-label-line {
    -fx-stroke: #8e8e8e;
}

.chart-legend {
    -fx-background-color: transparent;
    -fx-padding: 20;
}

.chart-title {
    -fx-font-size: 16px;
    -fx-font-weight: bold;
}

.axis-label {
    -fx-font-size: 12px;
}

.chart-series-line {
    -fx-stroke-width: 2px;
}

.default-color0.chart-series-line { -fx-stroke: #2196F3; }
.default-color1.chart-series-line { -fx-stroke: #4CAF50; }

.default-color0.chart-line-symbol { -fx-background-color: #2196F3, white; }
.default-color1.chart-line-symbol { -fx-background-color: #4CAF50, white; }

/* ComboBox样式 */
.combo-box {
    -fx-background-color: white;
    -fx-border-color: #E0E0E0;
    -fx-border-radius: 4;
    -fx-background-radius: 4;
    -fx-padding: 2;
}

.combo-box:hover {
    -fx-border-color: #BDBDBD;
}

.combo-box:focused {
    -fx-border-color: #2196F3;
}

.combo-box .arrow-button {
    -fx-background-color: transparent;
}

.combo-box .arrow {
    -fx-background-color: #757575;
}

.combo-box-popup .list-view {
    -fx-background-color: white;
    -fx-border-color: #E0E0E0;
    -fx-effect: dropshadow(three-pass-box, rgba(0,0,0,0.2), 8, 0, 0, 2);
}

.combo-box-popup .list-cell {
    -fx-background-color: white;
    -fx-padding: 6 12;
    -fx-text-fill: #424242;
}

.combo-box-popup .list-cell:hover {
    -fx-background-color: #E3F2FD;
}

.combo-box-popup .list-cell:selected {
    -fx-background-color: #BBDEFB;
}

/* 类别管理对话框样式 */
.category-dialog {
    -fx-background-color: white;
}

.category-dialog .list-view {
    -fx-pref-height: 300px;
    -fx-background-color: white;
    -fx-border-color: #E0E0E0;
}

.category-dialog .list-cell {
    -fx-padding: 8 12;
    -fx-font-size: 14px;
}

.category-dialog .list-cell:hover {
    -fx-background-color: #E3F2FD;
}

.category-dialog .list-cell:selected {
    -fx-background-color: #BBDEFB;
}

.category-dialog .button-box {
    -fx-spacing: 10;
    -fx-padding: 10 0;
}

.stats-card {
    -fx-background-color: white;
    -fx-background-radius: 5;
    -fx-effect: dropshadow(gaussian, rgba(0,0,0,0.1), 10, 0, 0, 0);
}

.income-card {
    -fx-border-color: #4CAF50;
    -fx-border-width: 0 0 3 0;
}

.expense-card {
    -fx-border-color: #F44336;
    -fx-border-width: 0 0 3 0;
}

.balance-card {
    -fx-border-color: #2196F3;
    -fx-border-width: 0 0 3 0;
}

.overview-panel {
    -fx-background-color: #f5f5f5;
}

.user-info-box {
    -fx-background-color: derive(-fx-background, -5%);
    -fx-padding: 10px;
    -fx-spacing: 5px;
    -fx-alignment: center;
    -fx-border-color: derive(-fx-background, -10%);
    -fx-border-width: 0 0 1 0;
}

.avatar {
    -fx-effect: dropshadow(three-pass-box, rgba(0,0,0,0.2), 3, 0, 0, 0);
    -fx-background-radius: 50%;
}

.username-label {
    -fx-font-size: 14px;
    -fx-font-weight: bold;
}

.name-label {
    -fx-font-size: 16px;
    -fx-font-weight: bold;
}

.role-label {
    -fx-font-size: 12px;
    -fx-text-fill: #666666;
} 